﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Ivy.Common.Framework.Base;
using System.Runtime.Serialization;


namespace Ivy.SiteAdmin.Entity
{
    [Serializable]
    [DataContract]
    public class ContentFeedback : DataEntityBase
    {
        #region  Variable & constant
        Int32 lContentFeedbackKey = -1;
        Int32 lContentFeedbackContentKey = -1;
        Int32 lContentFeedbackFeedbackKey = -1;
        string lContentFeedbackText = string.Empty;
        DateTime lContentFeedbackDate = DateTime.Now;
        Int32 lContentFeedbackAuthorUserKey = -1;
        string lContentFeedbackAuthorName = string.Empty;
        string lContentFeedbackAuthorEmail = string.Empty;  
        #endregion  Variable & constant

        #region Constructor & Destructor
        public ContentFeedback()
            : base()
        {
            this.Sys_DeleteType = DeleteType.SoftDeleteOnly;
        }
        #endregion Constructor & Destructor

        #region Properties
        [DataMember]
        public Int32 ContentFeedbackKey
        {
            get
            {
                return lContentFeedbackKey;
            }
            set
            {
                lContentFeedbackKey = value;
                base.SetEntityStateChangeAttribute();
            }
        }

        [DataMember]
        public Int32 ContentFeedbackContentKey
        {
            get
            {
                return lContentFeedbackContentKey;
            }
            set
            {
                lContentFeedbackContentKey = value;
                base.SetEntityStateChangeAttribute();
            }
        }

        [DataMember]
        public Int32 ContentFeedbackFeedbackKey
        {
            get
            {
                return lContentFeedbackFeedbackKey;
            }
            set
            {
                lContentFeedbackFeedbackKey = value;
                base.SetEntityStateChangeAttribute();
            }
        }

        [DataMember]
        public string ContentFeedbackText
        {
            get
            {
                return lContentFeedbackText;
            }
            set
            {
                lContentFeedbackText = value;
                base.SetEntityStateChangeAttribute();
            }
        }

        [DataMember]
        public DateTime ContentFeedbackDate
        {
            get
            {
                return lContentFeedbackDate;
            }
            set
            {
                lContentFeedbackDate = value;
                base.SetEntityStateChangeAttribute();
            }
        }

        [DataMember]
        public Int32 ContentFeedbackAuthorUserKey
        {
            get
            {
                return lContentFeedbackAuthorUserKey;
            }
            set
            {
                lContentFeedbackAuthorUserKey = value;
                base.SetEntityStateChangeAttribute();
            }
        }

        [DataMember]
        public string ContentFeedbackAuthorName
        {
            get
            {
                return lContentFeedbackAuthorName;
            }
            set
            {
                lContentFeedbackAuthorName = value;
                base.SetEntityStateChangeAttribute();
            }
        }

        [DataMember]
        public string ContentFeedbackAuthorEmail
        {
            get
            {
                return lContentFeedbackAuthorEmail;
            }
            set
            {
                lContentFeedbackAuthorEmail = value;
                base.SetEntityStateChangeAttribute();
            }
        }
        #endregion Properties

        #region Public Methods
        #endregion Public Methods

        #region Events
        #endregion Events

        #region Private Methods
        #endregion Private Methods

    }
}
